package com.ruoyi.system.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.common.core.domain.zzw.TEventManage;
import com.ruoyi.common.core.domain.zzw.VO.CategoryCountVO;
import com.ruoyi.common.core.domain.zzw.VO.ManageByPeoIdRecentlyVO;
import com.ruoyi.common.core.domain.zzw.VO.byType;
import com.ruoyi.common.core.domain.zzw.VO.loadCountVO;
import com.ruoyi.system.domain.vo.CountVO;

import java.util.List;


/**
 * 事件Mapper接口
 *
 * @author xbx
 * @date 2023-10-20
 */
public interface TEventManageMapper  extends BaseMapper<TEventManage>
{
    /**
     * 查询事件
     *
     * @param cEventId 事件主键
     * @return 事件
     */
    public TEventManage selectTEventManageByCEventId(Long cEventId);

    public List<TEventManage> selectTEventManageByCEventCategory(String category);

    /**
     * 查询事件列表
     *
     * @param tEventManage 事件
     * @return 事件集合
     */
    public List<TEventManage> selectTEventManageList(TEventManage tEventManage);

    /**
     * 新增事件
     *
     * @param tEventManage 事件
     * @return 结果
     */
    public int insertTEventManage(TEventManage tEventManage);

    /**
     * 修改事件
     *
     * @param tEventManage 事件
     * @return 结果
     */
    public int updateTEventManage(TEventManage tEventManage);

    /**
     * 删除事件
     *
     * @param cEventId 事件主键
     * @return 结果
     */
    public int deleteTEventManageByCEventId(Long cEventId);

    /**
     * 批量删除事件
     *
     * @param cEventIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTEventManageByCEventIds(List<Long> cEventIds);

    List<TEventManage> manageByPeoId(Integer id);

    List<ManageByPeoIdRecentlyVO> manageByPeoIdRecently(Integer id);

    List<CountVO> groupByType();

    CategoryCountVO categoryCount();
}
